home *** CD-ROM | disk | FTP | other *** search
/ MacWorld 1999 January - Disc 2 / Macworld (1999-01) (Disk 2).dmg / Serious Demos / Symbolic Composer 4.2 / Environment / System / SOLAR / Autocatalysis / def-soup < prev    next >
Text File  |  1998-10-23  |  998b  |  30 lines

  1. def-soup soup-name patterns catalysts
  2.  
  3. This enables you to define manually the soup contexts, modify soup definitions or restore a previously created soup.
  4.  
  5. (def-soup 'soup
  6.   '((e f e) (d e f) (a b c) (d e f) (e d f c) (e d f e f c) 
  7.     (d e e e f f g g) (g g g g g) (f e e) (e d c) (a a a a a a) 
  8.     (b b b c c) (c c b b))
  9.   '((e f d) (c d) (c d e) (c d e) (f d e) (g g g g) (g f f) 
  10.     (e e e d) (a b) (c c) (b a a)))
  11.  
  12. The soup elements are stored in property lists.
  13.  
  14. (get 'soup 'patterns)
  15. --> '((e f e) (d e f) (a b c) (d e f) (e d f c) (e d f e f c) 
  16.       (d e e e f f g g) (g g g g g) (f e e) (e d c) (a a a a a a) 
  17.       (b b b c c) (c c b b))
  18.  
  19. (get 'soup 'catalysts)
  20. --> '((e f d) (c d) (c d e) (c d e) (f d e) (g g g g) (g f f) 
  21.       (e e e d) (a b) (c c) (b a a))
  22.  
  23. To modify globally a soup use mapcar.
  24.  
  25. (def-soup 'soup
  26.   (mapcar #'(lambda (x) (symbol-transpose 1 x))
  27.           (get 'soup 'patterns))
  28.   (mapcar #'(lambda (x) (symbol-transpose 1 x))
  29.           (get 'soup 'catalysts)))
  30.